<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>
    var arr = [1,2,3];
    //join 就是把数组转换成字符串 默认连接符是逗号
    console.log(arr.join());
    console.log(arr.join("-"))
    //push 把里边的内容添加到数组末尾 并返回修改后的长度
    var arr1 = arr.push(4,5)
    console.log(arr1);
    console.log(arr)
    //pop 移除数组最后一项，返回移除的那个值，减少数组的长度
    var arr2 = arr.pop();
    console.log(arr2)
    console.log(arr)
    //shift 删除数组的第一项，并返回删除元素的值，如果数组为空则返回undefined
    var shift = arr.shift();
    console.log(arr);
    console.log(shift);
    //unshift 将参数添加到数组开头，并返回数组的长度
    var unshift = arr.unshift(6,7);
    console.log(arr);
    console.log(unshift)
    //sort 将数组里的选项从小到大排序
    var aee = ["a","c","b","d"];
    console.log(aee.sort());
    //sort 方法比较的是字符串 要想按照数值大小排序就必须要使用一个排序函数
    function sortnumber(a,b){
        return a-b;
    }
    var sss = [13,45,2,5];
    console.log(sss.sort(sortnumber));
    //reverse 反转数组项的顺序
    console.log(sss);
    console.log(sss.reverse())
    //slice 返回从原数组中指定开始下标到结束下标之间组成的新数组 可以接受一个或两个参数，既要返回项的起始和结束位置
    var slice = [1,23,4,5,6,7];
    var slice1 = slice.slice(1);
    var slice2 = slice.slice(1,4);
    var slice3 = slice.slice(1,-2);
    console.log(slice);
    console.log(slice1);
    console.log(slice2);
    console.log(slice3);
    //splice 删除，插入和替换
    var splice = [1,2,34,5,6,7];
    var removed = splice.splice(0,2);
    console.log(splice);
    console.log(removed)
    //forEach 对数组进行循环遍历，对数组中的每一项运行给函数 这个方法没有返回值
    var foreach =  [1,2,3,4,5];
    foreach.forEach(function(x,index,a){
        console.log(x + '|' + index + '|' + (a===foreach))
    })
    //map 指映射 对数组中的每一项运行给定函数，返回每次函数调用的结果组成新的数组
    var map = [1,2,3,4,5];
    var map2 = map.map(function(item){
        return item*item;
    })
    console.log(map2);
    //filter 过滤功能，数组中的每一项运行给定函数，返回满足过滤条件组成的数组
    var filter = [1,2,3,4,5,6,7,8];
    var filter2 = filter.filter(function(x,index){
        return index % 3 === 0 || x >= 8;
    })
    console.log(filter2)
</script>